package com.huluobo.a2107kotlinshopping.utils

import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.huluobo.a2107kotlinshopping.R

/**
 *  Created by LC on 2023/11/16.
 */
object ImageUtils {
    /**
     * 加载普通图片
     */
    fun loadImage(context: Context, url: String?, imageView: ImageView) {
        if (url != null) {
            Glide.with(context)
                .load(url)
                .placeholder(ColorDrawable(Color.GRAY))//占位图
                .error(R.drawable.baseline_error_24)
                .skipMemoryCache(true)//是否跳过内存缓存
                .diskCacheStrategy(DiskCacheStrategy.ALL)//全局使用磁盘缓存
                .transform(CenterCrop())//展示图片的方式,从中心开始拉伸
                .into(imageView)
        }
    }

    /**
     * 加载圆形图片
     */
    fun loadCircleImage(context: Context, url: String, imageView: ImageView) {
        Glide.with(context)
            .load(url)
            .placeholder(ColorDrawable(Color.GRAY))//占位图
            .error(R.drawable.baseline_error_24)
            .skipMemoryCache(true)//是否跳过内存缓存
            .diskCacheStrategy(DiskCacheStrategy.ALL)//全局使用磁盘缓存
            .transform(CenterCrop(), CircleCrop())//展示图片的方式,从中心开始拉伸,并且设置圆形图片
            .into(imageView)
    }

    fun loadRoundImage(context: Context, url: String, radius: Int, imageView: ImageView) {
        Glide.with(context)
            .load(url)
            .placeholder(ColorDrawable(Color.GRAY))//占位图
            .error(R.drawable.baseline_error_24)
            .skipMemoryCache(true)//是否跳过内存缓存
            .diskCacheStrategy(DiskCacheStrategy.ALL)//全局使用磁盘缓存
            .transform(CenterCrop(), RoundedCorners(radius))//展示图片的方式,从中心开始拉伸,并且设置圆角图片
            .into(imageView)
    }
}